home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _0407FBCFA0A745919ECDDBEBC0292330 < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.7 KB  |  48 lines

  1. // ===============================================================
  2. // Vertex Program: 
  3. // Description: 
  4. // Last Update: 14/08/2003
  5. // Coder: Andrey Honich
  6. // ===============================================================
  7.  
  8.       #include "../CGVPMacro.csi"
  9.  
  10.       VS20Only
  11.  
  12.       Noise
  13.       Projected
  14.  
  15.       Param4f ( Name = NoisePos Comp 'time 0.8' Comp 'time 0.6' Comp = 0 User 'WaveAmplitude') // xy = wavepos, z = 0, w = amplitude
  16.       Param4f ( Name = WaterLevel Comp 'WaterLevel' Comp = 0 Comp = 1)  // Water level
  17.       
  18.       VertAttributes { POSITION_3 PRIM_COLOR }
  19.  
  20.       MainInput { VIEWPROJ_MATRIX, uniform float4 NoisePos, CAMERA_POS, uniform float4 Normal, uniform float4 Scale, uniform float4 WaterLevel, uniform float4 TexShiftRipple, uniform float4 TexGenRipple0, uniform float4 TexGenRipple1, uniform float4 TexDetailScale, uniform float4x4 TexProjMatrix, uniform float4 pg[66] : register(c30) }
  21.       DeclarationsScript
  22.       {
  23.         IN_C0
  24.         OUT_T0_T1_T2_T3_T4_T5_C0
  25.       }
  26.       PositionScript = PosWaterDeform_PlusWaterLevel
  27.       CoreScript
  28.       {
  29.         float fZ = dot(ModelViewProj._31_32_33_34, vPos);
  30.         float fW = dot(ModelViewProj._41_42_43_44, vPos);
  31.         OUT.Tex5.x = fZ;
  32.         OUT.Tex5.y = fW;
  33.  
  34.         OUT.Tex0.xyz = vPos.xyz * Scale.xyz;
  35.         OUT.Tex3.xyz = Normal.xyz;
  36.         OUT.Tex4.xyz = normalize(vPos.xyz - CameraPos.xyz);
  37.  
  38.         float2 vTex;
  39.         vTex.x = dot(vPos, TexGenRipple0);
  40.         vTex.y = dot(vPos, TexGenRipple1);
  41.         OUT.Tex2.xy = (vTex.xy + TexShiftRipple.xy) * TexDetailScale.xy;
  42.     
  43.         float4 vProjTex = mul(TexProjMatrix, vPos);
  44.         OUT.Tex1 = vProjTex;
  45.     
  46.         OUT.Color = IN.Color;
  47.       }
  48.